package com.xbongbong.pro.enums.datacenter.datawarning.enums;

import com.xbongbong.i18n.util.I18nMessageUtil;
import lombok.Getter;

import java.util.ArrayList;
import java.util.List;
/**
 * @ClassName ActionTypeEnum
 * @Description 数据预警执行动作枚举
 * @Author mengna.Deng
 * @Date 2021/4/15 14:22
 * @Version 1.0
 */
@Getter
public enum ActionTypeEnum {
    /**
     * 执行动作,1消息，2短信
     */
    MESSAGE(1, "enum.actionType.memo.message"),

    SMS(2, "enum.actionType.memo.sms"),
    ;
    /**
     * 执行动作标示值
     */
    private Integer code;

    /**
     * 执行动作描述
     */
    private String memo;

    ActionTypeEnum(Integer code, String memo) {
        this.code = code;
        this.memo = memo;
    }

    public static ActionTypeEnum getByCode(Integer code){
        for(ActionTypeEnum saasMarkEnum: values()){
            if(saasMarkEnum.getCode().equals(code)){
                return saasMarkEnum;
            }
        }
        return null;
    }

    /**
     * 获取全部枚举
     *
     * @return List<ActionTypeEnum>
     */
    public static List<ActionTypeEnum> getAllEnum() {
        List<ActionTypeEnum> list = new ArrayList<>();
        for (ActionTypeEnum cache : values()) {
            list.add(cache);
        }
        return list;
    }

    public String getMemo() {
        return I18nMessageUtil.getMessage(memo);
    }
}
